package cn.csc.module.pay.controller.app.jzb.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import lombok.Data;

/**
 * 冻结充值撤销
 *
 * @author liuchuang
 * @version 1.0
 * @date 2024/1/15 13:50
 * @modify
 */
@Data
public class ThirdFreezeRechargeCancelReqVO {

    /**
     * 支付渠道类型
     * 0001-微信 0002-支付宝 0003-京东支付0004-百度支付//0005-快捷通支付//0006-裕福支付//0007-银联商务分期0008-拉卡拉支付0009-平安付0010-QQ钱包0011-通联
     * 0012-银联商务0013-银联0014-苏宁支付0015-乐刷支付0016-中金支付0017-合利宝0018-易宝支付0019-招行一网通0020-小米支付0021-合众支付0022-和包支付/0023-翼支付0024-交通银行0025-建设银行0026-宝付0027-工商银行0028-连连支付0029-钱袋宝
     */
    private String payChannelType;

    /**
     * 支付渠道所分配的商户号
     */
    private String payChannelAssignMerNo;

    /**
     * 原支付订单所属日期
     */
    private String oldPayOrderDate;

    /**
     * 总订单号
     */
    private String totalOrderNo;

    /**
     * 总交易金额
     */
    private String tranTotalAmt;

    /**
     * 订单数量
     */
    private String ordersCount;

    /**
     * 交易信息数组
     */
    private TranItemArray[] tranItemArray;

    /**
     * 保留域1
     */
    private String reservedMsgOne;


    /**
     * 保留域2
     */
    private String reservedMsgTwo;

    /**
     * 冻结充值撤销子订单信息
     */
    @Data
    public static class TranItemArray {
        /**
         * 子订单退款子账户
         */
        @SerializedName("SubOrderRefundSubAcctNo")
        @JsonProperty("SubOrderRefundSubAcctNo")
        private String subOrderRefundSubAcctNo;
        /**
         * 子订单退款金额
         */
        @SerializedName("SubOrderRefundAmt")
        @JsonProperty("SubOrderRefundAmt")
        private String subOrderRefundAmt;
        /**
         * 子订单退款手续费
         */
        @SerializedName("SubOrderRefundCommission")
        @JsonProperty("SubOrderRefundCommission")
        private String subOrderRefundCommission;
        /**
         * 原支付子订单号
         */
        @SerializedName("OldPaySubOrderNo")
        @JsonProperty("OldPaySubOrderNo")
        private String oldPaySubOrderNo;
        /**
         * 子订单退款备注
         */
        @SerializedName("SubOrderRefundRemark")
        @JsonProperty("SubOrderRefundRemark")
        private String subOrderRefundRemark;
        /**
         * 子订单退款保留域
         */
        @SerializedName("SubOrderRefundReservedMsg")
        @JsonProperty("SubOrderRefundReservedMsg")
        private String subOrderRefundReservedMsg;

    }


}
